Spring JDBC তে SQL Script চালানোর পদ্ধতি

Java Technologies - স্প্রিং জেডিবিসি (Spring JDBC) Spring JDBC এবং SQL Script Integration |
129
129

Spring JDBC ব্যবহার করে ডাটাবেসে SQL Script চালানো একটি সহজ এবং কার্যকর পদ্ধতি। বিশেষ করে, JdbcTemplate বা ResourceDatabasePopulator ব্যবহার করে আপনি SQL স্ক্রিপ্ট এক্সিকিউট করতে পারেন।


SQL Script চালানোর বিভিন্ন পদ্ধতি

  1. JdbcTemplate ব্যবহার করে SQL Script চালানো
  2. ResourceDatabasePopulator ব্যবহার করে SQL Script চালানো

1. JdbcTemplate ব্যবহার করে SQL Script চালানো

উদাহরণ:

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class SQLScriptRunner {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public void runSQLScript() {
        String sql = "CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));";
        jdbcTemplate.execute(sql);
        System.out.println("SQL Script executed successfully!");
    }
}
ব্যাখ্যা:
  • jdbcTemplate.execute(sql):
    • SQL স্টেটমেন্ট সরাসরি চালানোর জন্য ব্যবহার করা হয়।
  • এটি ছোট SQL স্ক্রিপ্টের জন্য কার্যকর।

2. ResourceDatabasePopulator ব্যবহার করে SQL Script চালানো

Spring Framework-এর ResourceDatabasePopulator ক্লাস ব্যবহার করে বড় SQL স্ক্রিপ্ট ফাইল চালানো যেতে পারে।

উদাহরণ:

SQL ফাইল: schema.sql
CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);

INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com');
INSERT INTO users (name, email) VALUES ('Jane Doe', 'jane.doe@example.com');
কোড:
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;

@Component
public class SQLScriptRunner {

    private final DataSource dataSource;

    public SQLScriptRunner(DataSource dataSource) {
        this.dataSource = dataSource;
    }

    public void runSQLScript() {
        ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
        resourceDatabasePopulator.addScript(new ClassPathResource("schema.sql"));

        try {
            resourceDatabasePopulator.execute(dataSource);
            System.out.println("SQL script executed successfully!");
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println("Error executing SQL script.");
        }
    }
}
ব্যাখ্যা:
  1. ResourceDatabasePopulator:
    • এটি একাধিক SQL ফাইল যোগ করতে এবং চালাতে সক্ষম।
  2. addScript(new ClassPathResource("schema.sql")):
    • ক্লাসপাথ থেকে SQL ফাইল লোড করে।
  3. execute(dataSource):
    • DataSource এর মাধ্যমে SQL স্ক্রিপ্ট চালানো হয়।
Maven ডিপেনডেন্সি:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.10</version>
</dependency>

3. Spring Boot এর মাধ্যমে SQL Script চালানো

Spring Boot প্রকল্পে আপনি সরাসরি data.sql বা schema.sql ফাইল ব্যবহার করতে পারেন। Spring Boot অ্যাপ্লিকেশন চালানোর সময় এই ফাইলগুলো অটোমেটিকভাবে চালানো হবে।

উদাহরণ:

schema.sql (ক্লাসপাথে)
CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);
data.sql (ক্লাসপাথে)
INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com');
INSERT INTO users (name, email) VALUES ('Jane Doe', 'jane.doe@example.com');

Spring Boot অ্যাপ্লিকেশন চালানোর সময়:

Spring Boot schema.sql এবং data.sql ফাইল লোড করবে এবং ডাটাবেসে প্রয়োজনীয় স্ক্রিপ্ট চালাবে।

অ্যাপ্লিকেশন প্রোপার্টিজে (অপশনাল):
spring.sql.init.mode=always
spring.sql.init.schema-locations=classpath:schema.sql
spring.sql.init.data-locations=classpath:data.sql

উপসংহার

Spring JDBC-তে SQL Script চালানোর জন্য বিভিন্ন পদ্ধতি রয়েছে। ছোট স্ক্রিপ্টের জন্য JdbcTemplate ব্যবহার করতে পারেন, আর বড় এবং একাধিক ফাইল পরিচালনার জন্য ResourceDatabasePopulator ব্যবহার করা উত্তম। Spring Boot ব্যবহার করলে schema.sql এবং data.sql ফাইল স্বয়ংক্রিয়ভাবে চালানোর সুবিধা পাওয়া যায়।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion